package com.dev.op.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 
 * @TableName submission
 */
@TableName(value ="submission")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Submission {
    /**
     * 
     */
    @TableId
    @JsonProperty("submission_id")
    private String submissionId;

    /**
     * 
     */
    @JsonProperty("submitter_user_id")
    private Integer submitterUserId;

    /**
     * 
     */
    @JsonProperty("problem_id")
    private String problemId;


    private String problemTitle;

    /**
     * 
     */
    private String code;

    /**
     * 
     */
    private String language;

    /**
     * 
     */
    private String inputWrongAnswer;

    /**
     * 
     */
    private String expected;

    /**
     * 
     */
    private String stdout;

    /**
     * 
     */
    private String error;
    /**
     * 
     */
    private String memoryUsed;
    /**
     * 
     */
    private String timeUsed;

    private String status;

    private String passRate;

    private Date submitDate;

    @Override
    public String toString() {
        return "Submission{" +
                "submissionId='" + submissionId + '\'' +
                ", submitterUserId='" + submitterUserId + '\'' +
                ", problemId='" + problemId + '\'' +
                ", code='" + code + '\'' +
                ", language='" + language + '\'' +
                ", inputWrongAnswer='" + inputWrongAnswer + '\'' +
                ", expected='" + expected + '\'' +
                ", stdout='" + stdout + '\'' +
                ", error='" + error + '\'' +
                ", memoryUsed='" + memoryUsed + '\'' +
                ", timeUsed='" + timeUsed + '\'' +
                ", status='" + status + '\'' +
                '}';
    }
}